/*
 * virtualdevicevariable.h
 *
 *  Created on: 06/01/2012
 *      Author: rbender
 */

#ifndef VIRTUALDEVICEVARIABLE_H_
#define VIRTUALDEVICEVARIABLE_H_

#include "xmlserializer.h"
#include <libxml++/libxml++.h>

namespace xvd
{
    class VirtualDeviceVariable : public XmlSerializer
    {
        public:
            VirtualDeviceVariable(const xmlpp::Node* node);
            VirtualDeviceVariable(const std::string& name, const std::string& type);

            std::string toXml() const;
            bool fromXml(const std::string& data);

            std::string& value();
            const std::string& name() const;
            const std::string& value() const;
            const std::string& type() const;

        private:
            std::string m_name;
            std::string m_value;
            std::string m_type;
    };
}

#endif /* VIRTUALDEVICEVARIABLE_H_ */
